home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tex / tools / dvi_300b / treiber / dvinadel.lzh / dvinadel / lq850.c < prev    next >
C/C++ Source or Header  |  1995-09-20  |  4KB  |  124 lines

  1. /*
  2.     LQ850
  3.     Beispiel-Ansteuerungsdefinitionsdatei für nadel.c
  4.  
  5.     Version 1.0
  6.     Copyright (c) Markus Kohm, 1995
  7.  
  8.     Es wird die Ansteuerung für einen EPSON-LQ850 definiert.
  9.     Dieser Drucker kann ohne Needle-Split maximal 360dpi*180dpi.
  10.     Bei horizontal 360dpi kann bei nebeneinanderliegenden Punkten der
  11.     zweite normalerweise nicht gedruckt werden.
  12.  
  13.     Hier realisiert werden Auflösungen von 96dpi*96dpi bis 360dpi*360dpi.
  14.     Dabei werden nicht vorhandene Auflösungen emuliert.
  15.     Die Emulation von vertikal 360dpi kann über verschiedene Konstanten
  16.     gesteuert (oder z.B. für einen LQ850+ abgeschaltet) werden.
  17. */
  18.  
  19. #include "PRT_BASE.H" /* Benötigte Definitionen */
  20.  
  21. #define PRTname "LQ850" /* Druckername */
  22.  
  23. const char *PRTinit   = "\002\033@";
  24. const char *PRTreset  = "\003\014\033@";
  25.  
  26. /*
  27.     Zwei Möglichkeiten 4fach-Druck einer Zeile zu verhindern:
  28.       a) Needlesplit-Modus in der Halfpoint-Emulation abschalten
  29.       b) Halfpoint-Emulation grundsätzlich durch Oder-Verknüpfung
  30.          statt Doppeldruck der Zeile
  31. */
  32. #define NONEEDLESPLITATEMUHALFPOINT /* (a) */
  33. #define EMUHALFPOINTBYOR            /* (b) schaltet (a) ab */
  34.  
  35. /*
  36.     Mit den folgenden Definitionen wird festgelegt, ob der
  37.     Druckertreiber LANDSCAPE und/oder PORTRAIT beherrschen
  38.     soll.
  39.     (Es ist empfehlenswert einen Treiber für beides zu erzeugen.)
  40. */
  41. #define PORTRAIT
  42. #define LANDSCAPE
  43.  
  44. /*
  45.     Die Seitenformate
  46.     Es muß mindestens ein Format definiert sein.
  47.     Die Formate werden von oben nach unten abgearbeitet.
  48.     Das erste passende wird verwendet.
  49.     Wir kein passendes Format gefunden, wird immer das
  50.     letzte (im jeweiligen Modus) verwendet.
  51. */
  52. PAGESIZE  PAGEsize[] = {
  53.   /* A4-Format */
  54.   { 0, 8268, 8268,      /* Breite: 0" = 0mm bis 8.268" = 210mm */
  55.     0, 11693, MAXSIZE,  /* Höhe:   beliebig (tatsächliche Höhe: 11.693" = 297mm) */
  56.     false },            /* Portrait */
  57.   { 0, 11693, MAXSIZE,  /* Breite: beliebig */
  58.     0, 8268, 8268,      /* Höhe:   0" = 0mm bis 8.268" = 210mm */
  59.     true }              /* Landscape */
  60. };
  61.  
  62. /*
  63.     Die Druckmodi
  64.     Es muß jeweils mindestens ein Modus definiert sein.
  65.     Die Modi werden von oben nach unten abgearbeitet.
  66.     Der beste passende wird verwendet.
  67. */
  68. PRTVMODE    PRTvmode[] = {
  69.   /* 360 lines per inch im 180lpi-Halbpunktemulationsmodus */
  70.   { 360, EMUHALFPOINT, 113, 184,
  71.     NULL, NULL,
  72.     "\2\033J" },
  73.   /* 180 lines per inch im 180lpi-Normalmodus */
  74.   { 180, EMUNORMAL, 56, 92,
  75.     NULL, NULL,
  76.     "\2\033J" },
  77.   /* 90 lines per inch im 180lpi-Zeilenverdopplungsmodus */
  78.   {  90, EMUHALF, 28, 46,
  79.     NULL, NULL,
  80.     "\2\033J" },
  81.   /* 60 lines per inch im 180lpi-Zeilenverdreifachungsmodus */
  82.   {  60, EMUTRIPLE, 19, 31,
  83.     NULL, NULL,
  84.     "\2\033J" },
  85.   /* 45 lines per inch im 180lpi-Zeilenvervierfachungsmodus */
  86.   {  45, EMUQUAD, 14, 23,
  87.     NULL, NULL,
  88.     "\2\033J" }
  89. };
  90.  
  91. PRTHMODE    PRThmode[] = {
  92.   /* 60 dots per inch im 60dpi-24-Nadelmodus */
  93.   {  60, EMUNORMAL,  7,  7,
  94.     "\3\033x\000", NULL,
  95.     3, 3, 1, "\2\033\\",
  96.     "\1\015",
  97.     3, "\3\033*\040" },
  98.   /* 90 dots per inch im 90dpi-24-Nadelmodus */
  99.   {  90, EMUNORMAL, 11, 11,
  100.     "\3\033x\001", NULL,
  101.     3, 2, 1, "\2\033\\",
  102.     "\1\015",
  103.     3, "\3\033*\046" },
  104.   /* 120 dots per inch im 120dpi-24-Nadelmodus */
  105.   { 120, EMUNORMAL, 14, 14,
  106.     "\3\033x\000", NULL,
  107.     3, 1, 1, "\2\033\\",
  108.     "\1\015",
  109.     3, "\3\033*\041" },
  110.   /* 180 dots per inch im 180dpi-24-Nadelmodus */
  111.   { 180, EMUNORMAL, 21, 21,
  112.     "\3\033x\001", NULL,
  113.     3, 1, 1, "\2\033\\",
  114.     "\1\015",
  115.     3, "\3\033*\047" },
  116.   /* 360 dots per inch im 360dpi-24-Nadel-Needlesplit-Modus */
  117.   { 360, NEEDLESPLIT, 43, 43,
  118.     "\3\033x\001", NULL,
  119.     4, 1, 2, "\2\033\\",
  120.     "\1\015",
  121.     3, "\3\033*\050" },
  122. };
  123.  
  124. #include "nadel.c"